/**
 * 
 */
package com.xintoucloud.gsv.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.xintoucloud.gsv.entity.Dept;
import com.xintoucloud.gsv.model.DeptData;
import com.xintoucloud.gsv.model.DeptNode;
import com.xintoucloud.gsv.model.TreeData;
import com.xintoucloud.gsv.model.TreeNode;

/**
 * @author xiang
 *
 */
@Service
public interface DeptService {
	//查询所有部门
	List<Dept> listDept();
	
	
	/**
	 * 根据上级组织id列出组织架构
	 * @param oid
	 * @return
	 */
	List<DeptNode> listDeptByParentId(Integer parentId);
	/**
	 * 
	 * @param oid
	 * @return
	 */
	List<Dept> listDeptWithParentIdIsFirst();
	DeptData listDeptByParentId1(Integer parentId);
	
	Dept getOne(Integer oid);

	/**
	 * 根据上级组织id列出组织架构
	 * @param oid
	 * @return
	 */
	TreeData getTreeData(Integer parentId);
	/**
	 * 
	 * @param parentId
	 * @return
	 */
	List<TreeNode> listTreeNode(Integer parentId);
	/**
	 * 添加一个部门
	 * @param dept
	 */
	Dept saveDept(int did,String dname);
	/**
	 * 删除一个部门
	 * @param did
	 * @return 
	 */
	boolean deleteDeptById(int did);
	/**
	 * 修改组织树节点的信息
	 * @param oid
	 * @return
	 */
	void updateDept(int did,String dname);
	
	
}
